package com.moyou.weichat.listener;

import android.os.Handler;
import android.os.Message;

import com.hyphenate.EMError;
import com.moyou.weichat.LoginActivity;
import com.moyou.weichat.MainActivity;
import com.moyou.weichat.chat.ChatManger;
import com.moyou.weichat.utils.ConstantUtils;
import com.moyou.weichat.utils.PreferenceHelper;

/**
 * Created by Administrator on 2017/10/16 0016.
 */

public class HxErroHandler extends Handler {

    private LoginActivity activity;

    public HxErroHandler(LoginActivity activity) {
        this.activity = activity;
    }

    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        if (msg.what == ConstantUtils.HANDLER_SUCCESS){
            //成功
            ChatManger.getChatManger().loadChatDate(); //加载环信数据
            PreferenceHelper.commitBoolean(ConstantUtils.IS_LOGIN,true); //记录登录状态
            activity.startAct(MainActivity.class);
            activity.finish();
        }else if (msg.what == ConstantUtils.HANDLER_LOAD){
            //加载中
            activity.dialogShow();
        }else if (msg.what == ConstantUtils.HANDLER_Fali){
            //失败
            switch ((int)msg.obj){
                // 网络异常 2
                case EMError.NETWORK_ERROR:
                    activity.showToast("网络错误!");
                    break;
                // 无效的用户名 101
                case EMError.INVALID_USER_NAME:
                    activity.showToast("无效的用户名!");
                    break;
                // 无效的密码 102
                case EMError.INVALID_PASSWORD:
                    activity.showToast("无效的密码!");
                    break;
                // 用户认证失败，用户名或密码错误 202
                case EMError.USER_AUTHENTICATION_FAILED:
                    activity.showToast("用户认证失败，用户名或密码错误!");
                    break;
                // 用户不存在 204
                case EMError.USER_NOT_FOUND:
                    activity.showToast("用户不存在!");
                    break;
                // 无法访问到服务器 300
                case EMError.SERVER_NOT_REACHABLE:
                    activity.showToast("无法访问到服务器!");
                    break;
                // 等待服务器响应超时 301
                case EMError.SERVER_TIMEOUT:
                    activity.showToast("等待服务器响应超时!");
                    break;
                // 服务器繁忙 302
                case EMError.SERVER_BUSY:
                    activity.showToast("服务器繁忙!");
                    break;
                // 未知 Server 异常 303 一般断网会出现这个错误
                case EMError.SERVER_UNKNOWN_ERROR:
                    activity.showToast("未知的服务器异常!");
                    break;
                default:
                    break;

            }
            activity.dialogDiss();
        }
    }
}
